package ua.at.javac.server;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import ua.at.javac.dao.Weather;
import ua.at.javac.entity.City;
import ua.at.javac.entity.Journal;




public class HtmlCreator {
 
    /**
     * @return htmlcode списка городов из базы
     */
    public String getHtmlListCity() {
    	List <City> city = new Weather().getCitys();
		
    	String html = "";
    	for (City c:city) {
    		html += "<option value=\"" + c.getCity() +
    				"\">" +	c.getCity() + "</option>";
    	}
    	
    	/*заглушка БД
    	String html =	"<option value=\"Kharkov\">Kharkov</option>" +
    					"<option value=\"Kiev\">Kiev</option>" +
    					"<option value=\"Donect\">Donect</option>" +
    					"<option value=\"Lvov\">Lvov</option>" +
    					"<option value=\"Odessa\">Odessa</option>";
    	*/
    	return html;
    }

    /**
     * Текст для центрального блока - при первой загрузке приветствие
     * при передаче параметров таблица погоды
     * @return
     */
    public String getWelcome() {
		// TODO Auto-generated method stub
    	return "<h1>Добро пожаловать!</h1>" +
    			"Все данные являються результатом математических рассчетов " +
    			"на основании прогнозов погоды полученных" +
    			"из открытых источников.";
    }
    
	/**
	 * Текст для центрального блока
	 * Формируем htmlcode таблицы погоды
	 * @param city - город
	 * @return htmlcode
	 */
	public String getHtmlWeather(String city) throws ParseException {
		StringBuffer htmlcode = new StringBuffer();
		// Заголовок таблицы
		htmlcode.append("<b>Погода по Вашему городу </b>" + city + "<br><br>");
		
		// получаем текущую дату в формате yyyy-MM-dd
		//SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		//String nowDate = dateFormat.format(new GregorianCalendar().getTime());
		
		// получаем в row усредненную погоду начиная с сегодняшенго дня
		List <Journal> row = new Weather().getWeather();
		
		// Префикс таблицы
		htmlcode.append("<table width=\"70%\" border=\"1\" " +
				"cellspacing=\"0\" cellpadding=\"0\" align=\"\" " +
				"style=\"text-align: center;\"><tbody>");
		// Заголовок таблицы
		htmlcode.append("<tr>" +
				"<td>Дата</td>" +
				"<td>Погода</td></tr>");
/*		
		// Тело таблицы - итерация строка
		for (Journal r:row){
			System.out.println(r.getCity()+r.getUptodate().toString()+r.getPeriod());
			// Открываем строку
			htmlcode.append("<tr>");
				// дата и период	
			Date date;
			String weekDay = null;
			SimpleDateFormat weekdayFormat = new SimpleDateFormat("EEEEEEEEEEE");
			date = r.getUptodate();
			weekDay = weekdayFormat.format(date);

			htmlcode.append("<td><h2>"+ r.getPeriod() + "</h2>" +
					weekDay + "<br>" + r.getUptodate() + "</td>");
				// ночь-утро-день-вечер
				htmlcode.append("<td>");
					htmlcode.append(
						// температура
						"<h1><img src=img/" + r.getTemperatureFile() + "> t= " +
						r.getTemperature() + "°C    " +
						// облачность
						"<img src=img/" + r.getCloudinessFile() + "> " +
						r.getCloudiness() + "%   " +
						// давление
						" <img src=img/"     + 
						r.getPressureFile()+ "> " + 
						r.getPressure() + "мм рт.ст. </h1> Осадки " +
						// осадки
						"<img src=img/" + r.getPrecipitationFile() + "> <b>" +
						r.getPrecipitation() + "</b> мм. " +
						" Влажность <b>" + r.getHumidity() + " %; "+
			            "</b>    Ветер- <b>" + r.getWindDirection() +
			            ", " + r.getWindSpeed() + "</b> м/с"
					);
				// закрываем 
				htmlcode.append("</td>");
				
			// Закрываем строку
			htmlcode.append("</tr>");					
		}
		// Постфикс таблицы
		htmlcode.append("</tbody></table>");
		
 */				
		return htmlcode.toString();
	}
}
